package com.kun.valiant.course.domain;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.kun.valiant.common.annotation.Excel;

import java.io.Serializable;
import java.math.BigDecimal;
import java.time.LocalDateTime;

/**
 * <p>
 * 课程管理
 * </p>
 *
 * @author fangkun
 * @since 2023-06-06
 */
@TableName("valiant_course")
public class Course implements Serializable {

    private static final long serialVersionUID = 1L;

    /**
     * 课程id
     */
    @Excel(name = "课程编号")
    @TableId(value = "course_id", type = IdType.AUTO)
    private Long courseId;

    /**
     * 课程类型 1 舞蹈类 2 游泳类 3 拳击类
     */
    @Excel(name = "课程类型", dictType = "course_type")
    private Integer type;

    /**
     * 课程名称
     */
    @Excel(name = "课程名称")
    private String name;

    /**
     * 价格
     */
    @Excel(name = "课程价格")
    private BigDecimal price;

    /**
     * 适用人群
     */
    @Excel(name = "适用人群",dictType = "course_apply_to")
    private Integer applyTo;

    /**
     * 课程描述信息
     */
    @Excel(name = "课程描述",width = 32)
    private String info;

    /**
     * 课程归类
     */
    private String subject;

    private LocalDateTime createTime;

    /**
     * 创建人
     */
    private String createBy;

    private LocalDateTime updateTime;

    private String updateBy;

    /**
     * 是否删除 1 是
     */
    private Integer delFlag;

    private String remark;

    public Long getCourseId() {
        return courseId;
    }

    public void setCourseId(Long courseId) {
        this.courseId = courseId;
    }

    public Integer getType() {
        return type;
    }

    public void setType(Integer type) {
        this.type = type;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public BigDecimal getPrice() {
        return price;
    }

    public void setPrice(BigDecimal price) {
        this.price = price;
    }

    public Integer getApplyTo() {
        return applyTo;
    }

    public void setApplyTo(Integer applyTo) {
        this.applyTo = applyTo;
    }

    public String getInfo() {
        return info;
    }

    public void setInfo(String info) {
        this.info = info;
    }

    public String getSubject() {
        return subject;
    }

    public void setSubject(String subject) {
        this.subject = subject;
    }

    public LocalDateTime getCreateTime() {
        return createTime;
    }

    public void setCreateTime(LocalDateTime createTime) {
        this.createTime = createTime;
    }

    public String getCreateBy() {
        return createBy;
    }

    public void setCreateBy(String createBy) {
        this.createBy = createBy;
    }

    public LocalDateTime getUpdateTime() {
        return updateTime;
    }

    public void setUpdateTime(LocalDateTime updateTime) {
        this.updateTime = updateTime;
    }

    public String getUpdateBy() {
        return updateBy;
    }

    public void setUpdateBy(String updateBy) {
        this.updateBy = updateBy;
    }

    public Integer getDelFlag() {
        return delFlag;
    }

    public void setDelFlag(Integer delFlag) {
        this.delFlag = delFlag;
    }

    public String getRemark() {
        return remark;
    }

    public void setRemark(String remark) {
        this.remark = remark;
    }

    @Override
    public String toString() {
        return "Course{" +
            "courseId = " + courseId +
            ", type = " + type +
            ", name = " + name +
            ", price = " + price +
            ", applyTo = " + applyTo +
            ", info = " + info +
            ", subject = " + subject +
            ", createTime = " + createTime +
            ", createBy = " + createBy +
            ", updateTime = " + updateTime +
            ", updateBy = " + updateBy +
            ", delFlag = " + delFlag +
            ", remark = " + remark +
        "}";
    }
}
